home *** CD-ROM | disk | FTP | other *** search
/ 64'er 1986 December / 64er_Magazin_86-12_1986_Markt__Technik_de.d64 / skaltrans (allg) (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  2KB  |  76 lines

  1. 10 rem ********* transformationen test ************
  2. 15 a=0:b=0:c=0:d=0:i=0:j=0:k=0:l=0:xu=0:xo=64:yu=0:yo=40:a$=""
  3. 20 dim p(2,6,3),m(1,3,3)
  4. 25 rem -------- belegen der punktematrix ---------
  5. 30 data 0,0,15,0,15,9,7.5,13,0,9
  6. 35 for i=1 to 5
  7. 40 :forj=1to2
  8. 45 ::read p(0,i,j)
  9. 50 :nextj
  10. 55 :p(0,i,3)=1
  11. 60 nexti
  12. 65 p(0,6,1)=p(0,1,1):p(0,6,2)=p(0,1,2):p(0,6,3)=p(0,1,3)
  13. 70 rem -------- belegen der matrix m(1,..) -------
  14. 75 m(1,1,1)=319/(xo-xu):m(1,2,2)=-199/(yo-yu):m(1,3,3)=1
  15. 80 fori=1to3
  16. 85 :forj=1to3
  17. 90 ::ifi=jthen100
  18. 95 ::m(1,i,j)=0
  19. 100 :nextj
  20. 105 nexti
  21. 110 m(1,3,2)=199
  22. 200 rem ------- hauptprogramm - skaltrans ------
  23. 205 rem --- belegen von m(0,...) --------
  24. 210 for i = 1 to 3
  25. 215 :for j = 1 to 3
  26. 220 ::m(0,i,j)=0
  27. 225 :next j
  28. 230 next i
  29. 235 m(0,1,1)=0.1:m(0,2,2)=0.1:m(0,3,3)=1
  30. 240 gosub655
  31. 245 rem --- zentrale schleife -----------
  32. 250 for l = 1 to 10
  33. 255 :m(0,1,1)=m(0,1,1)+.1:m(0,2,2)=m(0,2,2)+.1
  34. 260 :b=0:a=1:d=0:gosub550
  35. 265 :b=1:a=2:d=1:gosub550
  36. 270 :gosub630
  37. 275 next l
  38. 280 gosub670
  39. 285 end
  40. 500 rem +++++++++++ up matrimult +++++++++++++
  41. 505 rem eine 3,3-matrix m und eine 6,3-matrix
  42. 510 rem p werden miteinander multipliziert.
  43. 515 rem i,j,k = schleifenvariable
  44. 520 rem c     = zwischenwert
  45. 525 rem a und b nummer der 6,3-matrix p:
  46. 530 rem  b     = ausgangsmatrix
  47. 535 rem  a     = ergebnismatrix
  48. 540 rem d ist die nummer der 3,3-matrix m
  49. 545 rem ++++++++++++++++++++++++++++++++++++++
  50. 550 fori=1to6
  51. 555 :forj=1to3
  52. 560 ::c=0
  53. 565 ::fork=1to3
  54. 570 :::c=c+p(b,i,k)*m(d,k,j)
  55. 575 ::nextk:p(a,i,j)=c
  56. 580 :nextj
  57. 585 nexti
  58. 590 return
  59. 600 rem ++++++++ up zeichnen (allg) +++
  60. 605 rem i  = schleifenvariable
  61. 610 rem a$ = variable fuer tastendruck
  62. 615 rem p ist die 6,3-punktematrix
  63. 620 rem  a ist die nummer dieser matrix
  64. 625 rem +++++++++++++++++++++++++++++++
  65. 630 fori=1to5
  66. 635 :linie(p(a,i,1),p(a,i,2),p(a,i+1,1),p(a,i+1,2))
  67. 640 nexti
  68. 645 return
  69. 650 rem --- grafik einschalten --------
  70. 655 init:start
  71. 660 return
  72. 665 rem --- grafik ausschalten --------
  73. 670 show
  74. 675 normal
  75. 680 return
  76.